<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	 
	 <meta name="description" content="XDMF parallel partitioned mesh I/O on top of HDF5">
    
    <meta name="author" content="Víctor Sande Veiga" >
    <link rel="icon" href="../favicon.png">

    <title>ch_unstructured_hexahedron &ndash; XH5For</title>

    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/pygments.css" rel="stylesheet">
    <link href="../css/font-awesome.min.css" rel="stylesheet">
    <link href="../css/local.css" rel="stylesheet">
    

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    
    <script src="../js/jquery-2.1.3.min.js"></script>
    <script src="../js/svg-pan-zoom.min.js"></script>

  </head>

  <body>

    <!-- Fixed navbar -->
    <nav class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="../index.html">XH5For </a>
        </div>
        <div id="navbar" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
				
            <li class="dropdown hidden-xs visible-sm visible-md hidden-lg">
              <a href="#" class="dropdown-toggle"
              data-toggle="dropdown" role="button"
              aria-haspopup="true"
		 aria-expanded="false">Contents <span class="caret"></span></a>
	      <ul class="dropdown-menu">
              
            <li><a href="../lists/files.html">Source Files</a></li>
				
				
            <li><a href="../lists/modules.html">Modules</a></li>
				
            
                                
            <li><a href="../lists/procedures.html">Procedures</a></li>
				
								
            <li><a href="../lists/types.html">Derived Types</a></li>
				
				
            <li><a href="../lists/programs.html">Programs</a></li>
				
            </ul>
            </li>

<li class="visible-xs hidden-sm visible-lg"><a href="../lists/files.html">Source Files</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/modules.html">Modules</a></li>



<li class="visible-xs hidden-sm visible-lg"><a href="../lists/procedures.html">Procedures</a></li>

                             
<li class="visible-xs hidden-sm visible-lg"><a href="../lists/types.html">Derived Types</a></li>


<li class="visible-xs hidden-sm visible-lg"><a href="../lists/programs.html">Programs</a></li>

          </ul>
        
        <form action="../search.html" class="navbar-form navbar-right" role="search">
        <div class="form-group">
          <input type="text" class="form-control" placeholder="Search" name="q" id="tipue_search_input" autocomplete="off" required>
        </div>
<!--
        <button type="submit" class="btn btn-default">Submit</button>
-->
        </form>
        
        </div><!--/.nav-collapse -->
      </div>
    </nav>

    <div class="container">
    
  
  <div class="row">
    <h1>ch_unstructured_hexahedron
    <small>Program</small>
    
    </h1>
    
<div class="row">
  <div class="col-lg-12">
<div class="well well-sm">
  <ul class="list-inline" style="margin-bottom:0px;display:inline">
     
     
     
     
    
    
     <li><i class="fa fa-list-ol"></i>
       <a data-toggle="tooltip"
	  data-placement="bottom" data-html="true"
	  title=" 4.4% of total for programs.">106 statements</a>
     </li> 
     
     
    <li><i class="fa fa-code"></i><a href="../src/ch_unstructured_hexahedron_perf.f90"> Source File</a></li>
     
  </ul>
  <ol class="breadcrumb in-well text-right">
  
     <li><a href='../sourcefile/ch_unstructured_hexahedron_perf.f90.html'>ch_unstructured_hexahedron_perf.f90</a></li>
  
     <li class="active">ch_unstructured_hexahedron</li>
  </ol>
</div>
</div>
</div>
<script>
  $(function () {
  $('[data-toggle="tooltip"]').tooltip()
  })
</script>

  </div>
  
  <div class="row">
    <div class="col-md-3 hidden-xs hidden-sm visible-md visible-lg">
    
<div id="sidebar">
  


<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#vars-0">Variables</a></h3></div>
  <div id="vars-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-geometry%7E5">geometry</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-topology%7E7">topology</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-out_geometry%7E2">out_geometry</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-out_topology%7E2">out_topology</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_elems_per_axis%7E2">num_elems_per_axis</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_nodes%7E2">num_nodes</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_elements%7E2">num_elements</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-arg%7E2">arg</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-comm%7E2">comm</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-commsize">commsize</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-info%7E2">info</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-root%7E2">root</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-rank%7E4">rank</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-mpierr%7E16">mpierr</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-exitcode%7E2">exitcode</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-i%7E23">i</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-j%7E2">j</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-k%7E2">k</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-hdferror">hdferror</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-fileid">FileID</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-filespace">filespace</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-memspace">memspace</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-plist_id">plist_id</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-dset_id">dset_id</a>
      
    </div>
  </div>
</div>












<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-0">Subroutines</a></h3></div>
  <div class="list-group">
    <div id="subs-0" class="panel-collapse collapse">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#proc-generate_hexa_mesh%7E2">generate_hexa_mesh</a>
      
    </div>
  </div>
</div>








<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#src">ch_unstructured_hexahedron</a>
  </div>
</div>


  <hr>
  

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allprogs-0">All Programs</a></h3></div>
  <div id="allprogs-0" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html">ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/steps_handler_test.html">steps_handler_test</a>
      
      <a class="list-group-item" href="../program/test_hdf5_hyperslabs_handler.html">test_hdf5_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_rect_dpp_handler.html">test_hdf5_rect_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_rect_hyperslabs_handler.html">test_hdf5_rect_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_reg_dpp_handler.html">test_hdf5_reg_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_reg_hyperslabs_handler.html">test_hdf5_reg_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_uns_hyperslabs_handler.html">test_hdf5_uns_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_mpi_environment.html">test_mpi_environment</a>
      
      <a class="list-group-item" href="../program/test_xdmf_attribute.html">test_xdmf_attribute</a>
      
      <a class="list-group-item" href="../program/test_xdmf_character_data.html">test_xdmf_character_data</a>
      
      <a class="list-group-item" href="../program/test_xdmf_dataitem.html">test_xdmf_dataitem</a>
      
      <a class="list-group-item" href="../program/test_xdmf_geometry.html">test_xdmf_geometry</a>
      
      <a class="list-group-item" href="../program/test_xdmf_grid.html">test_xdmf_grid</a>
      
      <a class="list-group-item" href="../program/test_xdmf_rect_dpp_handler.html">test_xdmf_rect_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_rect_hyperslabs_handler.html">test_xdmf_rect_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_reg_ddp_handler.html">test_xdmf_reg_ddp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_reg_hyperslabs_handler.html">test_xdmf_reg_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_time.html">test_xdmf_time</a>
      
      <a class="list-group-item" href="../program/test_xdmf_topology.html">test_xdmf_topology</a>
      
      <a class="list-group-item" href="../program/test_xdmf_uns_ddp_handler.html">test_xdmf_uns_ddp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_uns_hyperslabs_handler.html">test_xdmf_uns_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_xinclude.html">test_xdmf_xinclude</a>
      
      <a class="list-group-item" href="../program/try_compile_hdf5_mod.html">try_compile_hdf5_mod</a>
      
      <a class="list-group-item" href="../program/try_compile_mpi_mod.html">try_compile_mpi_mod</a>
      
      <a class="list-group-item" href="../program/wxml_example.html">wxml_example</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid%7E2.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid%7E3.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E2.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E3.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E4.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E5.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_hexahedron.html">xh5for_ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_hexahedron%7E2.html">xh5for_ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_mixedtopology.html">xh5for_ch_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_mixedtopology%7E2.html">xh5for_ch_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_quadrilateral.html">xh5for_ch_unstructured_quadrilateral</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E2.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E3.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E4.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E5.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_triangles.html">xh5for_ch_unstructured_triangles</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid%7E2.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid%7E3.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_regular_grid.html">xh5for_dpp_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_hexahedron.html">xh5for_dpp_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_mixedtopology.html">xh5for_dpp_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_quadrilateral.html">xh5for_dpp_unstructured_quadrilateral</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_tetrahedron.html">xh5for_dpp_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_triangles.html">xh5for_dpp_unstructured_triangles</a>
      
    </div>
  </div>
</div>


</div>  

    </div>
    
    <div class="col-md-9" id='text'>
    
  
    <ul class="list-inline">
      <li><h4>Uses:</h4></li>
      
      <li>PENF</li>
      
      <li>hdf5</li>
      
    </ul>
    
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: program~~ch_unstructured_hexahedron~~UsesGraph Pages: 1 -->
<svg id="programch_unstructured_hexahedronUsesGraph" width="251pt" height="74pt"
 viewBox="0.00 0.00 251.00 74.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="program~~ch_unstructured_hexahedron~~UsesGraph" class="graph" transform="scale(1 1) rotate(0) translate(4 70)">
<title>program~~ch_unstructured_hexahedron~~UsesGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-70 247,-70 247,4 -4,4"/>
<!-- program~ch_unstructured_hexahedron -->
<g id="program~~ch_unstructured_hexahedron~~UsesGraph_node1" class="node"><title>program~ch_unstructured_hexahedron</title>
<polygon fill="none" stroke="black" points="243,-45 90,-45 90,-21 243,-21 243,-45"/>
<text text-anchor="middle" x="166.5" y="-30.6" font-family="Helvetica,sans-Serif" font-size="10.50">ch_unstructured_hexahedron</text>
</g>
<!-- PENF -->
<g id="program~~ch_unstructured_hexahedron~~UsesGraph_node2" class="node"><title>PENF</title>
<polygon fill="#337ab7" stroke="#337ab7" points="54,-66 0,-66 0,-42 54,-42 54,-66"/>
<text text-anchor="middle" x="27" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">PENF</text>
</g>
<!-- PENF&#45;&gt;program~ch_unstructured_hexahedron -->
<g id="program~~ch_unstructured_hexahedron~~UsesGraph_edge1" class="edge"><title>PENF&#45;&gt;program~ch_unstructured_hexahedron</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M54.1863,-50.0006C61.7968,-48.8383 70.5545,-47.5008 79.7448,-46.0972"/>
<polygon fill="#000000" stroke="#000000" points="80.4962,-49.5231 89.8532,-44.5533 79.4394,-42.6033 80.4962,-49.5231"/>
</g>
<!-- hdf5 -->
<g id="program~~ch_unstructured_hexahedron~~UsesGraph_node3" class="node"><title>hdf5</title>
<polygon fill="#337ab7" stroke="#337ab7" points="54,-24 0,-24 0,-0 54,-0 54,-24"/>
<text text-anchor="middle" x="27" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">hdf5</text>
</g>
<!-- hdf5&#45;&gt;program~ch_unstructured_hexahedron -->
<g id="program~~ch_unstructured_hexahedron~~UsesGraph_edge2" class="edge"><title>hdf5&#45;&gt;program~ch_unstructured_hexahedron</title>
<path fill="none" stroke="#000000" stroke-dasharray="5,2" d="M54.1863,-15.9994C61.7968,-17.1617 70.5545,-18.4992 79.7448,-19.9028"/>
<polygon fill="#000000" stroke="#000000" points="79.4394,-23.3967 89.8532,-21.4467 80.4962,-16.4769 79.4394,-23.3967"/>
</g>
</g>
</svg>
</div>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="490pt" height="32pt"
 viewBox="0.00 0.00 489.50 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 485.5,-28 485.5,4 -4,4"/>
<!-- Module -->
<g id="node1" class="node"><title>Module</title>
<polygon fill="#337ab7" stroke="#337ab7" points="54,-24 0,-24 0,-0 54,-0 54,-24"/>
<text text-anchor="middle" x="27" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Module</text>
</g>
<!-- Submodule -->
<g id="node2" class="node"><title>Submodule</title>
<polygon fill="#5bc0de" stroke="#5bc0de" points="139.5,-24 72.5,-24 72.5,-0 139.5,-0 139.5,-24"/>
<text text-anchor="middle" x="106" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Submodule</text>
</g>
<!-- Subroutine -->
<g id="node3" class="node"><title>Subroutine</title>
<polygon fill="#d9534f" stroke="#d9534f" points="222,-24 158,-24 158,-0 222,-0 222,-24"/>
<text text-anchor="middle" x="190" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Subroutine</text>
</g>
<!-- Function -->
<g id="node4" class="node"><title>Function</title>
<polygon fill="#d94e8f" stroke="#d94e8f" points="294,-24 240,-24 240,-0 294,-0 294,-24"/>
<text text-anchor="middle" x="267" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Function</text>
</g>
<!-- Program -->
<g id="node5" class="node"><title>Program</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="366,-24 312,-24 312,-0 366,-0 366,-24"/>
<text text-anchor="middle" x="339" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Program</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node6" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="481.5,-24 384.5,-24 384.5,-0 481.5,-0 481.5,-24"/>
<text text-anchor="middle" x="433" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a parent (sub)module to the submodule which is
    descended from it. Dashed arrows point from a module being used to the
    module or program unit using it.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
    

    <br><br>
    <p>Variable definition</p>
<p>Open HDF5 file</p>
<p>Write I4P HyperSlab</p>
<p>Write R4P HyperSlab</p>
    
     <h3>Calls</h3>
     
                <div class="depgraph"><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: program~~ch_unstructured_hexahedron~~CallsGraph Pages: 1 -->
<svg id="programch_unstructured_hexahedronCallsGraph" width="316pt" height="578pt"
 viewBox="0.00 0.00 316.00 578.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="program~~ch_unstructured_hexahedron~~CallsGraph" class="graph" transform="scale(1 1) rotate(0) translate(4 574)">
<title>program~~ch_unstructured_hexahedron~~CallsGraph</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-574 312,-574 312,4 -4,4"/>
<!-- program~ch_unstructured_hexahedron -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node1" class="node"><title>program~ch_unstructured_hexahedron</title>
<polygon fill="none" stroke="black" points="153,-297 0,-297 0,-273 153,-273 153,-297"/>
<text text-anchor="middle" x="76.5" y="-282.6" font-family="Helvetica,sans-Serif" font-size="10.50">ch_unstructured_hexahedron</text>
</g>
<!-- h5fclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node2" class="node"><title>h5fclose_f</title>
<polygon fill="#777777" stroke="#777777" points="279,-570 218,-570 218,-546 279,-546 279,-570"/>
<text text-anchor="middle" x="248.5" y="-555.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5fclose_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5fclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge1" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5fclose_f</title>
<path fill="none" stroke="#000000" d="M79.4178,-297.209C86.3634,-337.415 113.875,-467.093 189,-537 194.485,-542.104 201.299,-545.985 208.317,-548.929"/>
<polygon fill="#000000" stroke="#000000" points="207.313,-552.288 217.907,-552.392 209.69,-545.704 207.313,-552.288"/>
</g>
<!-- h5pcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node3" class="node"><title>h5pcreate_f</title>
<polygon fill="#777777" stroke="#777777" points="283.5,-528 213.5,-528 213.5,-504 283.5,-504 283.5,-528"/>
<text text-anchor="middle" x="248.5" y="-513.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5pcreate_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5pcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge2" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5pcreate_f</title>
<path fill="none" stroke="#000000" d="M80.5896,-297.153C90.2629,-332.795 123.313,-438.12 189,-495 193.442,-498.846 198.641,-502.007 204.074,-504.599"/>
<polygon fill="#000000" stroke="#000000" points="202.769,-507.846 213.346,-508.445 205.451,-501.38 202.769,-507.846"/>
</g>
<!-- h5dcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node4" class="node"><title>h5dcreate_f</title>
<polygon fill="#777777" stroke="#777777" points="283.5,-486 213.5,-486 213.5,-462 283.5,-462 283.5,-486"/>
<text text-anchor="middle" x="248.5" y="-471.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5dcreate_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5dcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge3" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5dcreate_f</title>
<path fill="none" stroke="#000000" d="M82.2875,-297.076C94.9961,-327.632 132.518,-408.733 189,-453 193.459,-456.495 198.549,-459.439 203.825,-461.912"/>
<polygon fill="#000000" stroke="#000000" points="202.844,-465.294 213.424,-465.871 205.514,-458.823 202.844,-465.294"/>
</g>
<!-- h5pclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node5" class="node"><title>h5pclose_f</title>
<polygon fill="#777777" stroke="#777777" points="280.5,-444 216.5,-444 216.5,-420 280.5,-420 280.5,-444"/>
<text text-anchor="middle" x="248.5" y="-429.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5pclose_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5pclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge4" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5pclose_f</title>
<path fill="none" stroke="#000000" d="M85.1929,-297.227C101.424,-322.087 141.603,-378.886 189,-411 194.393,-414.654 200.497,-417.753 206.675,-420.355"/>
<polygon fill="#000000" stroke="#000000" points="205.763,-423.753 216.354,-424.043 208.256,-417.212 205.763,-423.753"/>
</g>
<!-- str -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node6" class="node"><title>str</title>
<polygon fill="#777777" stroke="#777777" points="275.5,-402 221.5,-402 221.5,-378 275.5,-378 275.5,-402"/>
<text text-anchor="middle" x="248.5" y="-387.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">str</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;str -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge5" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;str</title>
<path fill="none" stroke="#000000" d="M90.664,-297.038C110.645,-314.796 150.401,-348.156 189,-369 196.143,-372.858 204.141,-376.261 211.873,-379.145"/>
<polygon fill="#000000" stroke="#000000" points="210.846,-382.494 221.441,-382.515 213.172,-375.892 210.846,-382.494"/>
</g>
<!-- h5sclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node7" class="node"><title>h5sclose_f</title>
<polygon fill="#777777" stroke="#777777" points="280.5,-360 216.5,-360 216.5,-336 280.5,-336 280.5,-360"/>
<text text-anchor="middle" x="248.5" y="-345.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5sclose_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5sclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge6" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5sclose_f</title>
<path fill="none" stroke="#000000" d="M109.171,-297.08C131.462,-305.545 162.015,-317.075 189,-327 194.709,-329.1 200.741,-331.293 206.676,-333.437"/>
<polygon fill="#000000" stroke="#000000" points="205.905,-336.88 216.5,-336.973 208.276,-330.293 205.905,-336.88"/>
</g>
<!-- h5dclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node8" class="node"><title>h5dclose_f</title>
<polygon fill="#777777" stroke="#777777" points="280.5,-318 216.5,-318 216.5,-294 280.5,-294 280.5,-318"/>
<text text-anchor="middle" x="248.5" y="-303.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5dclose_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5dclose_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge7" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5dclose_f</title>
<path fill="none" stroke="#000000" d="M153.054,-294.333C171.386,-296.598 190.31,-298.935 206.361,-300.918"/>
<polygon fill="#000000" stroke="#000000" points="206.105,-304.413 216.458,-302.165 206.963,-297.466 206.105,-304.413"/>
</g>
<!-- proc~generate_hexa_mesh~2 -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node9" class="node"><title>proc~generate_hexa_mesh~2</title>
<g id="a_program~~ch_unstructured_hexahedron~~CallsGraph_node9"><a xlink:href="../proc/generate_hexa_mesh%7E2.html" xlink:title="generate_hexa_mesh">
<polygon fill="#d9534f" stroke="#d9534f" points="307,-276 190,-276 190,-252 307,-252 307,-276"/>
<text text-anchor="middle" x="248.5" y="-261.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">generate_hexa_mesh</text>
</a>
</g>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;proc~generate_hexa_mesh~2 -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge8" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;proc~generate_hexa_mesh~2</title>
<path fill="none" stroke="#000000" d="M153.054,-275.667C161.914,-274.572 170.912,-273.461 179.657,-272.381"/>
<polygon fill="#000000" stroke="#000000" points="180.288,-275.829 189.784,-271.13 179.43,-268.882 180.288,-275.829"/>
</g>
<!-- h5screate_simple_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node10" class="node"><title>h5screate_simple_f</title>
<polygon fill="#777777" stroke="#777777" points="301.5,-234 195.5,-234 195.5,-210 301.5,-210 301.5,-234"/>
<text text-anchor="middle" x="248.5" y="-219.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5screate_simple_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5screate_simple_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge9" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5screate_simple_f</title>
<path fill="none" stroke="#000000" d="M109.171,-272.92C131.462,-264.455 162.015,-252.925 189,-243 193.875,-241.207 198.986,-239.345 204.071,-237.505"/>
<polygon fill="#000000" stroke="#000000" points="205.529,-240.7 213.749,-234.015 203.154,-234.115 205.529,-240.7"/>
</g>
<!-- h5dwrite_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node11" class="node"><title>h5dwrite_f</title>
<polygon fill="#777777" stroke="#777777" points="279.5,-192 217.5,-192 217.5,-168 279.5,-168 279.5,-192"/>
<text text-anchor="middle" x="248.5" y="-177.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5dwrite_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5dwrite_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge10" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5dwrite_f</title>
<path fill="none" stroke="#000000" d="M90.664,-272.962C110.645,-255.204 150.401,-221.844 189,-201 194.795,-197.871 201.152,-195.04 207.473,-192.543"/>
<polygon fill="#000000" stroke="#000000" points="209.134,-195.66 217.291,-188.9 206.698,-189.097 209.134,-195.66"/>
</g>
<!-- h5open_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node12" class="node"><title>h5open_f</title>
<polygon fill="#777777" stroke="#777777" points="277.5,-150 219.5,-150 219.5,-126 277.5,-126 277.5,-150"/>
<text text-anchor="middle" x="248.5" y="-135.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5open_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5open_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge11" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5open_f</title>
<path fill="none" stroke="#000000" d="M85.1929,-272.773C101.424,-247.913 141.603,-191.114 189,-159 195.264,-154.755 202.487,-151.26 209.671,-148.423"/>
<polygon fill="#000000" stroke="#000000" points="211.12,-151.622 219.353,-144.953 208.758,-145.032 211.12,-151.622"/>
</g>
<!-- h5close_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node13" class="node"><title>h5close_f</title>
<polygon fill="#777777" stroke="#777777" points="277.5,-108 219.5,-108 219.5,-84 277.5,-84 277.5,-108"/>
<text text-anchor="middle" x="248.5" y="-93.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5close_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5close_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge12" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5close_f</title>
<path fill="none" stroke="#000000" d="M82.2875,-272.924C94.9961,-242.368 132.518,-161.267 189,-117 195.073,-112.241 202.316,-108.502 209.604,-105.584"/>
<polygon fill="#000000" stroke="#000000" points="211.201,-108.732 219.462,-102.097 208.867,-102.133 211.201,-108.732"/>
</g>
<!-- h5fcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node14" class="node"><title>h5fcreate_f</title>
<polygon fill="#777777" stroke="#777777" points="282,-66 215,-66 215,-42 282,-42 282,-66"/>
<text text-anchor="middle" x="248.5" y="-51.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5fcreate_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5fcreate_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge13" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5fcreate_f</title>
<path fill="none" stroke="#000000" d="M80.5896,-272.847C90.2629,-237.205 123.313,-131.88 189,-75 193.818,-70.8279 199.527,-67.4632 205.459,-64.7553"/>
<polygon fill="#000000" stroke="#000000" points="206.866,-67.9625 214.868,-61.0191 204.282,-61.4566 206.866,-67.9625"/>
</g>
<!-- h5sselect_hyperslab_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_node15" class="node"><title>h5sselect_hyperslab_f</title>
<polygon fill="#777777" stroke="#777777" points="308,-24 189,-24 189,-0 308,-0 308,-24"/>
<text text-anchor="middle" x="248.5" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">h5sselect_hyperslab_f</text>
</g>
<!-- program~ch_unstructured_hexahedron&#45;&gt;h5sselect_hyperslab_f -->
<g id="program~~ch_unstructured_hexahedron~~CallsGraph_edge14" class="edge"><title>program~ch_unstructured_hexahedron&#45;&gt;h5sselect_hyperslab_f</title>
<path fill="none" stroke="#000000" d="M79.4178,-272.791C86.3634,-232.585 113.875,-102.907 189,-33 190.303,-31.7871 191.682,-30.6433 193.12,-29.5647"/>
<polygon fill="#000000" stroke="#000000" points="195.282,-32.341 201.908,-24.074 191.573,-26.4045 195.282,-32.341"/>
</g>
</g>
</svg>
</div>
                <div><a type="button" class="graph-help" data-toggle="modal" href="#graph-help-text">Help</a></div>
                <div class="modal fade" id="graph-help-text" tabindex="-1" role="dialog">
                  <div class="modal-dialog modal-lg" role="document">
                    <div class="modal-content">
                      <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title" id="-graph-help-label">Graph Key</h4>
                      </div>
                      <div class="modal-body">
                        
    <p>Nodes of different colours represent the following: </p>
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Graph Key Pages: 1 -->
<svg width="560pt" height="32pt"
 viewBox="0.00 0.00 559.50 32.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 28)">
<title>Graph Key</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-28 555.5,-28 555.5,4 -4,4"/>
<!-- Subroutine -->
<g id="node1" class="node"><title>Subroutine</title>
<polygon fill="#d9534f" stroke="#d9534f" points="64,-24 0,-24 0,-0 64,-0 64,-24"/>
<text text-anchor="middle" x="32" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Subroutine</text>
</g>
<!-- Function -->
<g id="node2" class="node"><title>Function</title>
<polygon fill="#d94e8f" stroke="#d94e8f" points="136,-24 82,-24 82,-0 136,-0 136,-24"/>
<text text-anchor="middle" x="109" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Function</text>
</g>
<!-- Interface -->
<g id="node3" class="node"><title>Interface</title>
<polygon fill="#a7506f" stroke="#a7506f" points="209.5,-24 154.5,-24 154.5,-0 209.5,-0 209.5,-24"/>
<text text-anchor="middle" x="182" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Interface</text>
</g>
<!-- Unknown Procedure Type -->
<g id="node4" class="node"><title>Unknown Procedure Type</title>
<polygon fill="#777777" stroke="#777777" points="364,-24 228,-24 228,-0 364,-0 364,-24"/>
<text text-anchor="middle" x="296" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Unknown Procedure Type</text>
</g>
<!-- Program -->
<g id="node5" class="node"><title>Program</title>
<polygon fill="#f0ad4e" stroke="#f0ad4e" points="436,-24 382,-24 382,-0 436,-0 436,-24"/>
<text text-anchor="middle" x="409" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50" fill="white">Program</text>
</g>
<!-- This Page&#39;s Entity -->
<g id="node6" class="node"><title>This Page&#39;s Entity</title>
<polygon fill="none" stroke="black" points="551.5,-24 454.5,-24 454.5,-0 551.5,-0 551.5,-24"/>
<text text-anchor="middle" x="503" y="-9.6" font-family="Helvetica,sans-Serif" font-size="10.50">This Page&#39;s Entity</text>
</g>
</g>
</svg>

    
    <p>Solid arrows point from a procedure to one which it calls. Dashed 
    arrows point from an interface to procedures which implement that interface.
    This could include the module procedures in a generic interface or the
    implementation in a submodule of an interface in a parent module.
    </p>
    
                      </div>
                    </div>
                  </div>
                </div>
                
     
    <br>

     <section class="visible-xs visible-sm hidden-md">
       


<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#vars-1">Variables</a></h3></div>
  <div id="vars-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-geometry%7E5">geometry</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-topology%7E7">topology</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-out_geometry%7E2">out_geometry</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-out_topology%7E2">out_topology</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_elems_per_axis%7E2">num_elems_per_axis</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_nodes%7E2">num_nodes</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-num_elements%7E2">num_elements</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-arg%7E2">arg</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-comm%7E2">comm</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-commsize">commsize</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-info%7E2">info</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-root%7E2">root</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-rank%7E4">rank</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-mpierr%7E16">mpierr</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-exitcode%7E2">exitcode</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-i%7E23">i</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-j%7E2">j</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-k%7E2">k</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-hdferror">hdferror</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-fileid">FileID</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-filespace">filespace</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-memspace">memspace</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-plist_id">plist_id</a>
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#variable-dset_id">dset_id</a>
      
    </div>
  </div>
</div>












<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#subs-1">Subroutines</a></h3></div>
  <div class="list-group">
    <div id="subs-1" class="panel-collapse collapse">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#proc-generate_hexa_mesh%7E2">generate_hexa_mesh</a>
      
    </div>
  </div>
</div>








<div class="panel panel-primary">
  <div class="panel-heading text-left"><h3 class="panel-title">Source Code</h3></div>
  <div class="list-group">
    <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html#src">ch_unstructured_hexahedron</a>
  </div>
</div>


     </section>
     <br class="visible-xs visible-sm hidden-md">

     

    
    <section>
    <h2>Variables</h2>
    
<table class="table table-striped varlist">
<thead><tr><th>Type</th>

<th>Attributes</th><th></th><th>Name</th><th></th><th>Initial</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-geometry%7E5"></span>real(kind=R4P),</td>
  
  
  <td>allocatable</td><td>::</td>
  <td><strong>geometry</strong>(:)</td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-topology%7E7"></span>integer(kind=I4P),</td>
  
  
  <td>allocatable</td><td>::</td>
  <td><strong>topology</strong>(:)</td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-out_geometry%7E2"></span>real(kind=R4P),</td>
  
  
  <td>allocatable</td><td>::</td>
  <td><strong>out_geometry</strong>(:)</td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-out_topology%7E2"></span>integer(kind=I4P),</td>
  
  
  <td>allocatable</td><td>::</td>
  <td><strong>out_topology</strong>(:)</td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-num_elems_per_axis%7E2"></span>integer(kind=I4P)</td>
  
  
  <td></td><td>::</td>
  <td><strong>num_elems_per_axis</strong></td><td> =</td><td>1</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-num_nodes%7E2"></span>integer(kind=I4P)</td>
  
  
  <td></td><td>::</td>
  <td><strong>num_nodes</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-num_elements%7E2"></span>integer(kind=I4P)</td>
  
  
  <td></td><td>::</td>
  <td><strong>num_elements</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-arg%7E2"></span>character(len=10)</td>
  
  
  <td></td><td>::</td>
  <td><strong>arg</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-comm%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>comm</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-commsize"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>commsize</strong></td><td> =</td><td>1</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-info%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>info</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-root%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>root</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-rank%7E4"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>rank</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-mpierr%7E16"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>mpierr</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-exitcode%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>exitcode</strong></td><td> =</td><td>0</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-i%7E23"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>i</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-j%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>j</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-k%7E2"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>k</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-hdferror"></span>integer</td>
  
  
  <td></td><td>::</td>
  <td><strong>hdferror</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-fileid"></span>integer(kind=HID_T)</td>
  
  
  <td></td><td>::</td>
  <td><strong>FileID</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-filespace"></span>integer(kind=HID_T)</td>
  
  
  <td></td><td>::</td>
  <td><strong>filespace</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-memspace"></span>integer(kind=HID_T)</td>
  
  
  <td></td><td>::</td>
  <td><strong>memspace</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-plist_id"></span>integer(kind=HID_T)</td>
  
  
  <td></td><td>::</td>
  <td><strong>plist_id</strong></td><td></td><td></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" id="variable-dset_id"></span>integer(kind=HID_T)</td>
  
  
  <td></td><td>::</td>
  <td><strong>dset_id</strong></td><td></td><td></td><td><p>Main program</p></td>
  
</tr>

</tbody>
</table>

    </section>
    <br>
    
    
    
    
    
    
    

    
    
    


    
    <section>
    <h2>Subroutines</h2>
    
    
  <div class="panel panel-default">
  <div class="panel-heading codesum"><span class="anchor" id="proc-generate_hexa_mesh%7E2"></span><h3>
subroutine <a href='../proc/generate_hexa_mesh%7E2.html'>generate_hexa_mesh</a>(rank, num_elements_per_axis, XYZ, topology, number_nodes, number_elements)
    
    
	 
</h3></div>
  <div class="panel-body">
       
    







<p>Initialize some values depending on the mpi rank</p>
    
    <h4>Arguments</h4>
    
      
      
<table class="table table-striped varlist">
<thead><tr><th>Type</th>
<th>Intent</th><th>Optional</th>
<th>Attributes</th><th></th><th>Name</th><th></th></thead>



<tbody>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>rank</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer,</td>
  <td>intent(in)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>num_elements_per_axis</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>real(kind=R4P),</td>
  <td>intent(inout),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>XYZ</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer(kind=I4P),</td>
  <td>intent(inout),</td>
  <td></td>
  
  <td>allocatable</td><td>::</td>
  <td><strong>topology</strong>(:)</td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer(kind=I4P),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>number_nodes</strong></td><td></td>
  
</tr>

  
  
  
  
<tr>
  
  <td><span class="anchor" ></span>integer(kind=I4P),</td>
  <td>intent(out)</td>
  <td></td>
  
  <td></td><td>::</td>
  <td><strong>number_elements</strong></td><td></td>
  
</tr>

</tbody>
</table>

      
    
    

  </div>
  </div>

    
    </section>    
    
    
    
    <section>
    <h2 id="src">Source Code</h2>
    <div class="highlight"><pre><span class="k">program </span><span class="n">ch_unstructured_hexahedron</span>

<span class="k">use </span><span class="n">PENF</span><span class="p">,</span> <span class="n">only</span><span class="p">:</span> <span class="n">I4P</span><span class="p">,</span> <span class="n">I8P</span><span class="p">,</span> <span class="n">R4P</span><span class="p">,</span> <span class="n">R8P</span><span class="p">,</span> <span class="n">str</span>

<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(MPI_MOD)</span>
  <span class="k">use </span><span class="n">mpi</span>
<span class="cp">#endif</span>
<span class="cp">#ifdef ENABLE_HDF5</span>
  <span class="k">use </span><span class="n">hdf5</span>
<span class="cp">#endif</span>
  <span class="k">implicit none</span>
<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(MPI_H)</span>
  <span class="k">include</span> <span class="s1">&#39;mpif.h&#39;</span>
<span class="cp">#endif</span>

    <span class="c">!-----------------------------------------------------------------</span>
    <span class="c">!&lt; Variable definition</span>
    <span class="c">!----------------------------------------------------------------- </span>
    <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>        <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">geometry</span><span class="p">(:)</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">topology</span><span class="p">(:)</span>
    <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>        <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">out_geometry</span><span class="p">(:)</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>     <span class="k">allocatable</span> <span class="kd">::</span> <span class="n">out_topology</span><span class="p">(:)</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_elems_per_axis</span> <span class="o">=</span> <span class="mi">1</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_nodes</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">)</span>                  <span class="kd">::</span> <span class="n">num_elements</span>
    <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>             <span class="kd">::</span> <span class="n">arg</span>

    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">comm</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">commsize</span> <span class="o">=</span> <span class="mi">1</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">info</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">root</span> <span class="o">=</span> <span class="mi">0</span>
    
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">rank</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">mpierr</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">exitcode</span> <span class="o">=</span> <span class="mi">0</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="p">,</span><span class="n">k</span>

<span class="cp">#ifdef ENABLE_HDF5</span>
    <span class="kt">integer</span>                                                <span class="kd">::</span> <span class="n">hdferror</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">FileID</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">filespace</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">memspace</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">plist_id</span>
    <span class="kt">integer</span><span class="p">(</span><span class="n">HID_T</span><span class="p">)</span>                                         <span class="kd">::</span> <span class="n">dset_id</span>
<span class="cp">#endif</span>

    <span class="c">!-----------------------------------------------------------------</span>
    <span class="c">!&lt; Main program</span>
    <span class="c">!----------------------------------------------------------------- </span>

<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
    <span class="kt">integer</span>                       <span class="kd">::</span> <span class="n">bsize</span>
    <span class="kt">character</span><span class="p">(</span><span class="nb">len</span><span class="o">=</span><span class="mi">10</span><span class="p">)</span>             <span class="kd">::</span> <span class="n">bsizestr</span>

    <span class="k">call </span><span class="n">MPI_INIT</span><span class="p">(</span><span class="n">mpierr</span><span class="p">)</span>
    <span class="k">CALL </span><span class="n">MPI_COMM_DUP</span><span class="p">(</span><span class="n">MPI_COMM_WORLD</span><span class="p">,</span> <span class="n">comm</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
    <span class="k">call </span><span class="n">MPI_Comm_rank</span><span class="p">(</span><span class="n">comm</span><span class="p">,</span> <span class="n">rank</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">);</span>
    <span class="k">call </span><span class="n">MPI_COMM_SIZE</span><span class="p">(</span><span class="n">comm</span><span class="p">,</span> <span class="n">commsize</span><span class="p">,</span> <span class="n">mpierr</span><span class="p">)</span>
    <span class="n">info</span> <span class="o">=</span> <span class="n">MPI_INFO_NULL</span>
<span class="cp">#endif</span>

    <span class="k">if</span><span class="p">(</span><span class="nb">command_argument_count</span><span class="p">()</span><span class="o">==</span><span class="mi">1</span><span class="p">)</span> <span class="k">then</span>
<span class="k">        call </span><span class="nb">get_command_argument</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">arg</span><span class="p">)</span>
        <span class="n">arg</span> <span class="o">=</span> <span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">arg</span><span class="p">))</span>
        <span class="k">read</span><span class="p">(</span><span class="n">arg</span><span class="p">,</span><span class="o">*</span><span class="p">)</span>  <span class="n">num_elems_per_axis</span>
    <span class="n">endif</span>

    <span class="k">call </span><span class="n">generate_hexa_mesh</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">num_elems_per_axis</span><span class="p">,</span> <span class="n">geometry</span><span class="p">,</span> <span class="n">topology</span><span class="p">,</span> <span class="n">num_nodes</span><span class="p">,</span> <span class="n">num_elements</span><span class="p">)</span>

    <span class="k">if</span><span class="p">(</span><span class="n">rank</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="k">then</span>
<span class="k">        write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;===================================================&#39;</span>
        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Fixed size per task&#39;</span>
        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Number of elements: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">num_elements</span><span class="p">)))</span>
        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;TEST INFO: Number of nodes: &#39;</span><span class="o">//</span><span class="nb">trim</span><span class="p">(</span><span class="nb">adjustl</span><span class="p">(</span><span class="n">str</span><span class="p">(</span><span class="n">no_sign</span><span class="o">=</span><span class="p">.</span><span class="n">true</span><span class="p">.,</span> <span class="n">n</span><span class="o">=</span><span class="n">num_nodes</span><span class="p">)))</span>
        <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="n">fmt</span><span class="o">=</span><span class="s1">&#39;(A)&#39;</span><span class="p">)</span> <span class="s1">&#39;===================================================&#39;</span>
    <span class="n">endif</span>

<span class="cp">#ifdef ENABLE_HDF5</span>
    <span class="c">!-----------------------------------------------------------------</span>
    <span class="c">!&lt; Open HDF5 file</span>
    <span class="c">!----------------------------------------------------------------- </span>
    <span class="k">call </span><span class="n">H5open_f</span><span class="p">(</span><span class="n">error</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
    <span class="k">call </span><span class="n">H5pcreate_f</span><span class="p">(</span><span class="n">H5P_FILE_ACCESS_F</span><span class="p">,</span> <span class="n">prp_id</span><span class="o">=</span><span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span>
<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
    <span class="k">call </span><span class="n">H5pset_fapl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">comm</span> <span class="o">=</span> <span class="n">comm</span><span class="p">,</span> <span class="n">info</span> <span class="o">=</span> <span class="n">info</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<span class="cp">#endif</span>
    <span class="k">call </span><span class="n">H5fcreate_f</span><span class="p">(</span><span class="n">name</span> <span class="o">=</span> <span class="s1">&#39;ch_unst_hexa.h5&#39;</span><span class="p">,</span>            <span class="p">&amp;</span>
            <span class="n">access_flags</span>  <span class="o">=</span> <span class="n">H5F_ACC_TRUNC_F</span><span class="p">,</span>              <span class="p">&amp;</span>
            <span class="n">File_id</span>       <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                       <span class="p">&amp;</span>
            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                     <span class="p">&amp;</span>
            <span class="n">creation_prp</span>  <span class="o">=</span> <span class="n">H5P_DEFAULT_F</span><span class="p">,</span>                <span class="p">&amp;</span>
            <span class="n">access_prp</span>    <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
    <span class="k">call </span><span class="n">h5pclose_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>

    <span class="c">!-----------------------------------------------------------------</span>
    <span class="c">!&lt; Write I4P HyperSlab</span>
    <span class="c">!----------------------------------------------------------------- </span>
    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                                          <span class="p">&amp;</span>
            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">commsize</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                                              <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Create the dataset with default properties.</span>
    <span class="k">call </span><span class="n">H5Pcreate_f</span><span class="p">(</span><span class="n">H5P_DATASET_XFER_F</span><span class="p">,</span> <span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
    <span class="c">! Set MPIO data transfer mode to COLLECTIVE</span>
    <span class="k">call </span><span class="n">H5Pset_dxpl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">data_xfer_mode</span> <span class="o">=</span> <span class="n">H5FD_MPIO_COLLECTIVE_F</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<span class="cp">#endif</span>
    <span class="c">! Create dataset </span>
    <span class="k">call </span><span class="n">H5Dcreate_f</span><span class="p">(</span><span class="n">loc_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                   <span class="p">&amp;</span>
            <span class="n">name</span>     <span class="o">=</span> <span class="s1">&#39;/Connectivities&#39;</span><span class="p">,</span>               <span class="p">&amp;</span>
            <span class="n">type_id</span>  <span class="o">=</span> <span class="n">H5T_NATIVE_INTEGER</span><span class="p">,</span>              <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                       <span class="p">&amp;</span>
            <span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                         <span class="p">&amp;</span> 
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Select hyperslab</span>
    <span class="k">call </span><span class="n">H5Sselect_hyperslab_f</span> <span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                      <span class="p">&amp;</span>
            <span class="n">operator</span> <span class="o">=</span> <span class="n">H5S_SELECT_SET_F</span><span class="p">,</span>                                   <span class="p">&amp;</span>
            <span class="n">start</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="nb">count</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span>                <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Create memspace</span>
    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                       <span class="p">&amp;</span>
            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
    <span class="c">! Write data</span>
    <span class="k">call </span><span class="n">H5Dwrite_f</span><span class="p">(</span><span class="n">dset_id</span> <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                           <span class="p">&amp;</span>
            <span class="n">mem_type_id</span>   <span class="o">=</span> <span class="n">H5T_NATIVE_INTEGER</span><span class="p">,</span>                  <span class="p">&amp;</span>
            <span class="n">buf</span>           <span class="o">=</span> <span class="n">topology</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">dims</span>          <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">topology</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">file_space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                           <span class="p">&amp;</span>
            <span class="n">mem_space_id</span>  <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">xfer_prp</span>      <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
    <span class="c">! Close data space, dataset, property list .</span>
    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
    <span class="k">call </span><span class="n">H5Dclose_f</span><span class="p">(</span><span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>   <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="k">call </span><span class="n">H5Pclose_f</span><span class="p">(</span><span class="n">prp_id</span>   <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>

    <span class="c">!-----------------------------------------------------------------</span>
    <span class="c">!&lt; Write R4P HyperSlab</span>
    <span class="c">!----------------------------------------------------------------- </span>
    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                                          <span class="p">&amp;</span>
            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">commsize</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                                              <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Create the dataset with default properties.</span>
    <span class="k">call </span><span class="n">H5Pcreate_f</span><span class="p">(</span><span class="n">H5P_DATASET_XFER_F</span><span class="p">,</span> <span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">hdferr</span><span class="o">=</span><span class="n">hdferror</span><span class="p">)</span> 
<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; defined(ENABLE_PARALLEL_HDF5)</span>
    <span class="c">! Set MPIO data transfer mode to COLLECTIVE</span>
    <span class="k">call </span><span class="n">H5Pset_dxpl_mpio_f</span><span class="p">(</span><span class="n">prp_id</span> <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span> <span class="n">data_xfer_mode</span> <span class="o">=</span> <span class="n">H5FD_MPIO_COLLECTIVE_F</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
<span class="cp">#endif</span>
    <span class="c">! Create dataset </span>
    <span class="k">call </span><span class="n">H5Dcreate_f</span><span class="p">(</span><span class="n">loc_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span>                   <span class="p">&amp;</span>
            <span class="n">name</span>     <span class="o">=</span> <span class="s1">&#39;/Coordinates&#39;</span><span class="p">,</span>                  <span class="p">&amp;</span>
            <span class="n">type_id</span>  <span class="o">=</span> <span class="n">H5T_NATIVE_REAL</span><span class="p">,</span>                 <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                       <span class="p">&amp;</span>
            <span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                         <span class="p">&amp;</span> 
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Select hyperslab</span>
    <span class="k">call </span><span class="n">H5Sselect_hyperslab_f</span> <span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                      <span class="p">&amp;</span>
            <span class="n">operator</span> <span class="o">=</span> <span class="n">H5S_SELECT_SET_F</span><span class="p">,</span>                                   <span class="p">&amp;</span>
            <span class="n">start</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="nb">int</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">I8P</span><span class="p">)</span><span class="o">*</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="nb">count</span>    <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span>                <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="c">! Create memspace</span>
    <span class="k">call </span><span class="n">H5Screate_simple_f</span><span class="p">(</span><span class="n">rank</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span>                       <span class="p">&amp;</span>
            <span class="n">dims</span>     <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">hdferr</span>   <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
    <span class="c">! Write data</span>
    <span class="k">call </span><span class="n">H5Dwrite_f</span><span class="p">(</span><span class="n">dset_id</span> <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>                           <span class="p">&amp;</span>
            <span class="n">mem_type_id</span>   <span class="o">=</span> <span class="n">H5T_NATIVE_REAL</span><span class="p">,</span>                     <span class="p">&amp;</span>
            <span class="n">buf</span>           <span class="o">=</span> <span class="n">geometry</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">dims</span>          <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="n">size</span><span class="p">(</span><span class="n">geometry</span><span class="p">,</span> <span class="nb">dim</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">kind</span><span class="o">=</span><span class="n">I8P</span><span class="p">)</span><span class="o">/</span><span class="p">),</span> <span class="p">&amp;</span>
            <span class="n">hdferr</span>        <span class="o">=</span> <span class="n">hdferror</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">file_space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span>                           <span class="p">&amp;</span>
            <span class="n">mem_space_id</span>  <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>                            <span class="p">&amp;</span>
            <span class="n">xfer_prp</span>      <span class="o">=</span> <span class="n">plist_id</span><span class="p">)</span>
    <span class="c">! Close data space, dataset, property list .</span>
    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">memspace</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
    <span class="k">call </span><span class="n">H5Dclose_f</span><span class="p">(</span><span class="n">dset_id</span>  <span class="o">=</span> <span class="n">dset_id</span><span class="p">,</span>   <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="k">call </span><span class="n">H5Pclose_f</span><span class="p">(</span><span class="n">prp_id</span>   <span class="o">=</span> <span class="n">plist_id</span><span class="p">,</span>  <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="k">call </span><span class="n">H5Sclose_f</span><span class="p">(</span><span class="n">space_id</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    
    <span class="k">call </span><span class="n">H5Fclose_f</span><span class="p">(</span><span class="n">file_id</span> <span class="o">=</span> <span class="n">FileID</span><span class="p">,</span> <span class="n">hdferr</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span>
    <span class="k">call </span><span class="n">H5close_f</span><span class="p">(</span><span class="n">error</span> <span class="o">=</span> <span class="n">hdferror</span><span class="p">)</span> 
<span class="cp">#else</span>
    <span class="k">if</span><span class="p">(</span><span class="n">rank</span><span class="o">==</span><span class="mi">0</span><span class="p">)</span> <span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="o">*</span><span class="p">)</span> <span class="s1">&#39;Warning: HDF5 is not enabled. Please enable HDF5 and recompile to write the HeavyData&#39;</span>
<span class="cp">#endif</span>

<span class="cp">#if defined(ENABLE_MPI) &amp;&amp; (defined(MPI_MOD) || defined(MPI_H))</span>
    <span class="k">call </span><span class="n">MPI_FINALIZE</span><span class="p">(</span><span class="n">mpierr</span><span class="p">)</span>
<span class="cp">#endif</span>

    <span class="k">call exit</span><span class="p">(</span> <span class="n">status</span><span class="o">=</span><span class="n">exitcode</span><span class="p">)</span>


<span class="k">contains</span>

<span class="k">    subroutine </span><span class="n">generate_hexa_mesh</span><span class="p">(</span><span class="n">rank</span><span class="p">,</span> <span class="n">num_elements_per_axis</span><span class="p">,</span> <span class="n">XYZ</span><span class="p">,</span> <span class="n">topology</span><span class="p">,</span> <span class="n">number_nodes</span><span class="p">,</span> <span class="n">number_elements</span><span class="p">)</span>
        <span class="kt">integer</span><span class="p">,</span>                   <span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">rank</span>
        <span class="kt">integer</span><span class="p">,</span>                   <span class="k">intent</span><span class="p">(</span><span class="n">in</span><span class="p">)</span>    <span class="kd">::</span> <span class="n">num_elements_per_axis</span>
        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">inout</span><span class="p">)</span> <span class="kd">::</span> <span class="n">XYZ</span><span class="p">(:)</span>
        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">allocatable</span><span class="p">,</span> <span class="k">intent</span><span class="p">(</span><span class="n">inout</span><span class="p">)</span> <span class="kd">::</span> <span class="n">topology</span><span class="p">(:)</span>
        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">number_nodes</span>
        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span>              <span class="k">intent</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>   <span class="kd">::</span> <span class="n">number_elements</span>
        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="nb">dim</span> <span class="o">=</span> <span class="mi">3</span>
        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_elements_per_surface</span>
        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_axis</span>
        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_surface</span>
        <span class="kt">integer</span>                                  <span class="kd">::</span> <span class="n">num_nodes_per_element</span> <span class="o">=</span> <span class="mi">8</span> <span class="c">! hexahedron</span>
        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">first_point</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="p">,</span><span class="mf">0.0</span><span class="o">/</span><span class="p">)</span>
        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">last_point</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">,</span><span class="mf">1.0</span><span class="o">/</span><span class="p">)</span>
        <span class="kt">real</span><span class="p">(</span><span class="n">R4P</span><span class="p">),</span>    <span class="k">dimension</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">steps</span>
        <span class="kt">integer</span><span class="p">(</span><span class="n">I4P</span><span class="p">),</span> <span class="k">dimension</span><span class="p">(</span><span class="mi">8</span><span class="p">)</span>               <span class="kd">::</span> <span class="n">first_element_topology</span>

        <span class="n">num_elements_per_surface</span> <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">**</span><span class="mi">2</span>
        <span class="n">number_elements</span>          <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">**</span><span class="mi">3</span>
        <span class="n">num_nodes_per_axis</span>       <span class="o">=</span> <span class="n">num_elements_per_axis</span><span class="o">+</span><span class="mi">1</span>
        <span class="n">num_nodes_per_surface</span>    <span class="o">=</span> <span class="n">num_nodes_per_axis</span><span class="o">**</span><span class="mi">2</span>
        <span class="n">number_nodes</span>             <span class="o">=</span> <span class="n">num_nodes_per_axis</span><span class="o">**</span><span class="mi">3</span>
        <span class="c">!&lt; Initialize some values depending on the mpi rank</span>
        <span class="n">first_point</span> <span class="o">=</span> <span class="n">first_point</span><span class="o">+</span><span class="n">rank</span>
        <span class="n">last_point</span> <span class="o">=</span> <span class="n">last_point</span><span class="o">+</span><span class="n">rank</span>
        <span class="n">steps</span> <span class="o">=</span> <span class="p">(</span><span class="n">last_point</span><span class="o">-</span><span class="n">first_point</span><span class="p">)</span><span class="o">/</span><span class="kt">real</span><span class="p">(</span><span class="n">num_elements_per_axis</span><span class="p">,</span> <span class="n">R4P</span><span class="p">)</span>

        <span class="n">first_element_topology</span> <span class="o">=</span> <span class="p">(</span><span class="o">/</span><span class="mi">0</span><span class="p">,</span>                                          <span class="mi">1</span><span class="p">,</span>                                       <span class="p">&amp;</span>
                                   <span class="n">num_nodes_per_axis</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>                       <span class="n">num_nodes_per_axis</span><span class="p">,</span>                      <span class="p">&amp;</span>
                                   <span class="n">num_nodes_per_surface</span><span class="p">,</span>                      <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span>                 <span class="p">&amp;</span>
                                   <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="n">num_nodes_per_axis</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">num_nodes_per_surface</span><span class="o">+</span><span class="n">num_nodes_per_axis</span><span class="o">/</span><span class="p">)</span>

        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">XYZ</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">XYZ</span><span class="p">)</span>
        <span class="k">if</span><span class="p">(</span><span class="nb">allocated</span><span class="p">(</span><span class="n">topology</span><span class="p">))</span> <span class="k">deallocate</span><span class="p">(</span><span class="n">topology</span><span class="p">)</span>
        <span class="k">allocate</span><span class="p">(</span><span class="n">XYZ</span><span class="p">(</span><span class="n">number_nodes</span><span class="o">*</span><span class="mi">3</span><span class="p">))</span>
        <span class="k">allocate</span><span class="p">(</span><span class="n">topology</span><span class="p">(</span><span class="n">number_elements</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">))</span>

        <span class="k">do </span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">number_nodes</span><span class="o">-</span><span class="mi">1</span>
            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_nodes_per_surface</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">2</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_nodes_per_axis</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span>
            <span class="n">XYZ</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="nb">dim</span><span class="p">)</span><span class="o">+</span><span class="mi">3</span><span class="p">)</span> <span class="o">=</span> <span class="n">first_point</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">+</span><span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">num_nodes_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">steps</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span>
        <span class="n">enddo</span>
        <span class="k">do </span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">number_elements</span><span class="o">-</span><span class="mi">1</span>
            <span class="n">topology</span><span class="p">((</span><span class="n">i</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">:(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_element</span><span class="p">)</span> <span class="o">=</span>            <span class="p">&amp;</span>
                    <span class="n">first_element_topology</span><span class="o">+</span>                                                <span class="p">&amp;</span>
                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="n">num_elements_per_axis</span><span class="p">)</span><span class="o">+</span>                                          <span class="p">&amp;</span>
                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_elements_per_axis</span><span class="p">,</span><span class="n">num_elements_per_axis</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_axis</span><span class="o">+</span> <span class="p">&amp;</span>
                    <span class="nb">mod</span><span class="p">(</span><span class="n">i</span><span class="o">/</span><span class="n">num_elements_per_surface</span><span class="p">,</span> <span class="n">num_elements_per_surface</span><span class="p">)</span><span class="o">*</span><span class="n">num_nodes_per_surface</span>
        <span class="n">enddo</span>

    <span class="k">end subroutine</span>

<span class="k">end program </span><span class="n">ch_unstructured_hexahedron</span>
</pre></div>

    </section>
    
    
    </div>
  </div>

  <section class="visible-xs visible-sm hidden-md">
    <hr>
    

<div class="panel panel-default">
  <div class="panel-heading text-left"><h3 class="panel-title"><a data-toggle="collapse" href="#allprogs-1">All Programs</a></h3></div>
  <div id="allprogs-1" class="panel-collapse collapse">
    <div class="list-group">
      
      <a class="list-group-item" href="../program/ch_unstructured_hexahedron.html">ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/steps_handler_test.html">steps_handler_test</a>
      
      <a class="list-group-item" href="../program/test_hdf5_hyperslabs_handler.html">test_hdf5_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_rect_dpp_handler.html">test_hdf5_rect_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_rect_hyperslabs_handler.html">test_hdf5_rect_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_reg_dpp_handler.html">test_hdf5_reg_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_reg_hyperslabs_handler.html">test_hdf5_reg_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_hdf5_uns_hyperslabs_handler.html">test_hdf5_uns_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_mpi_environment.html">test_mpi_environment</a>
      
      <a class="list-group-item" href="../program/test_xdmf_attribute.html">test_xdmf_attribute</a>
      
      <a class="list-group-item" href="../program/test_xdmf_character_data.html">test_xdmf_character_data</a>
      
      <a class="list-group-item" href="../program/test_xdmf_dataitem.html">test_xdmf_dataitem</a>
      
      <a class="list-group-item" href="../program/test_xdmf_geometry.html">test_xdmf_geometry</a>
      
      <a class="list-group-item" href="../program/test_xdmf_grid.html">test_xdmf_grid</a>
      
      <a class="list-group-item" href="../program/test_xdmf_rect_dpp_handler.html">test_xdmf_rect_dpp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_rect_hyperslabs_handler.html">test_xdmf_rect_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_reg_ddp_handler.html">test_xdmf_reg_ddp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_reg_hyperslabs_handler.html">test_xdmf_reg_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_time.html">test_xdmf_time</a>
      
      <a class="list-group-item" href="../program/test_xdmf_topology.html">test_xdmf_topology</a>
      
      <a class="list-group-item" href="../program/test_xdmf_uns_ddp_handler.html">test_xdmf_uns_ddp_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_uns_hyperslabs_handler.html">test_xdmf_uns_hyperslabs_handler</a>
      
      <a class="list-group-item" href="../program/test_xdmf_xinclude.html">test_xdmf_xinclude</a>
      
      <a class="list-group-item" href="../program/try_compile_hdf5_mod.html">try_compile_hdf5_mod</a>
      
      <a class="list-group-item" href="../program/try_compile_mpi_mod.html">try_compile_mpi_mod</a>
      
      <a class="list-group-item" href="../program/wxml_example.html">wxml_example</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid%7E2.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_rectilinear_grid%7E3.html">xh5for_ch_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E2.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E3.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E4.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_regular_grid%7E5.html">xh5for_ch_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_hexahedron.html">xh5for_ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_hexahedron%7E2.html">xh5for_ch_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_mixedtopology.html">xh5for_ch_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_mixedtopology%7E2.html">xh5for_ch_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_quadrilateral.html">xh5for_ch_unstructured_quadrilateral</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E2.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E3.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E4.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_tetrahedron%7E5.html">xh5for_ch_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_ch_unstructured_triangles.html">xh5for_ch_unstructured_triangles</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid%7E2.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_rectilinear_grid%7E3.html">xh5for_dpp_rectilinear_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_regular_grid.html">xh5for_dpp_regular_grid</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_hexahedron.html">xh5for_dpp_unstructured_hexahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_mixedtopology.html">xh5for_dpp_unstructured_mixedtopology</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_quadrilateral.html">xh5for_dpp_unstructured_quadrilateral</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_tetrahedron.html">xh5for_dpp_unstructured_tetrahedron</a>
      
      <a class="list-group-item" href="../program/xh5for_dpp_unstructured_triangles.html">xh5for_dpp_unstructured_triangles</a>
      
    </div>
  </div>
</div>


  </section>
  
    <hr>    
    </div> <!-- /container -->
    <footer>
      <div class="container">
      <div class="row">
        <div class="col-xs-6 col-md-4"><p>&copy; 2016 </p></div>
        <div class="col-xs-6 col-md-4 col-md-push-4">
          <p class="text-right">
            Documentation generated by 
            <a href="https://github.com/cmacmackin/ford">FORD</a>
             on 2016-11-08T12:24:53.235950 
          </p>
        </div>
        <div class="col-xs-12 col-md-4 col-md-pull-4"><p class="text-center"> XH5For was developed by Víctor Sande Veiga</p></div>
      </div>
      <br>
      </div> <!-- /container -->    
    </footer>

    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
<!--
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
-->
    <script src="../js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../js/ie10-viewport-bug-workaround.js"></script>

    <!-- MathJax JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/x-mathjax-config">
      MathJax.Hub.Config({
        TeX: { extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'], equationNumbers: { autoNumber: 'AMS' } },
        jax: ['input/TeX','input/MathML','output/HTML-CSS'],
        extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js'],
        'HTML-CSS': { 
           styles: { '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {color: '#000000 ! important'} }
        }
      });
    </script>
    <script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    
    <script src="../tipuesearch/tipuesearch_content.js"></script>
    <link  href="../tipuesearch/tipuesearch.css" rel="stylesheet">
    <script src="../tipuesearch/tipuesearch_set.js"></script>
    <script src="../tipuesearch/tipuesearch.js"></script>
    
    
  </body>
</html>